/*********************************************************************************
  *FileName:  lin_cfg.h
  *Version:   V1.0
  *Date:      2024-03-13
**********************************************************************************/

#ifndef  __lin_cfg_H__
#define  __lin_cfg_H__

/***************************************Includes***********************************/
#include "lin_api.h"
#include "lin_cfg.h"
#include "lin_signals.h"
#include "lin21.h"


/***************************************Macros***********************************/

#define LIN_SID_ASSIGN_NAD                  (0xB0U)
#define LIN_SID_ASSIGN_FRAME_ID             (0xB1U)
#define LIN_SID_READ_BY_ID                  (0xB2U)
#define LIN_SID_CONDITIONAL_CHANGE_NAD      (0xB3U)
#define LIN_SID_DATA_DUMP                   (0xB4U)
#define LIN_SID_RESERVED                    (0xB5U)
#define LIN_SID_SAVE_CONFIGURATION          (0xB6U)
#define LIN_SID_ASSIGN_FRAME_ID_RANGE       (0xB7U)




/***************************************Variables***********************************/

typedef struct
{
    uint8_t identifier;
    uint16_t supplierID;
    uint16_t functionID;
} ReadByIdReq_t;

typedef struct
{
    uint16_t supplierID;
    uint16_t functionID;
    uint8_t variant;
} ReadByIdProductIdRsp_t;

typedef struct
{
    uint32_t serialNo;
} ReadByIdSerialNoRsp_t;

typedef struct
{
    uint8_t sid;
    uint8_t errorCode;
} ReadByIdNakRsp_t;




/***************************************Functions***********************************/
uint8_t LNCI_HandleNodeCfgIdentifyRequest(const DiagReqInfo_t *const diagReq, DiagRspInfo_t *const diagRsp);

#endif
/* [] END OF lin_cfg.h */
